package cn.zm.app.dao;

import java.util.List;

import javax.annotation.Resource;

import org.apache.ibatis.annotations.Param;

import cn.zm.app.pojo.AppCategory;
import cn.zm.app.pojo.AppInfo;
import cn.zm.app.pojo.AppVersion;
import cn.zm.app.pojo.DataDictionary;

@Resource
public interface CategoryMapper {
	/*
	 * 查询一级目录
	 */
	public List<AppCategory> categoryList1();
	
	/*
	 * 查询二级目录
	 */
	public List<AppCategory> categoryList2();
	
	/*
	 * 查询三级目录
	 */
	public List<AppCategory> categoryList3();
	
	
	/*
	 * 查询所属平台
	 */
	public List<DataDictionary> dictionaryList1();
	
	/*
	 * 查询APP状态
	 */
	public List<DataDictionary> dictionaryList2();
	
	/*
	 * 上级联动 查询下级目录
	 */
	public List<AppCategory> linkage1(List<String> pid);
	
	/*
	 * 下级联动 查询上级目录
	 */
	public List<AppCategory> linkage2(@Param("pid")String pid);
	
	/*
	 * 查询总数量
	 */
	public int selectCount(@Param("softwareName")String softwareName,
			@Param("status")String status,
			@Param("categoryLevel1")String categoryLevel1,
			@Param("categoryLevel2")String categoryLevel2,
			@Param("categoryLevel3")String categoryLevel3,
			@Param("flatformId")String flatformId,
			@Param("devId")String devId);
	
	/*
	 * 查询集合
	 */
	public List<AppInfo> appInfoList(@Param("softwareName")String softwareName,
			@Param("status")String status,
			@Param("categoryLevel1")String categoryLevel1,
			@Param("categoryLevel2")String categoryLevel2,
			@Param("categoryLevel3")String categoryLevel3,
			@Param("flatformId")String flatformId,		
			@Param("devId")String devId,
			@Param("numbs") int numbs,
			@Param("pageSize")int pageSize);
	
	/*
	 * 查询apkName是否存在
	 */
	public AppInfo toValidateName(String apkName);
	
	/*
	 * 新增appInfo信息
	 */
	public int toaddAppInfo(AppInfo app);
	
	/*
	 * 根据id查询信息
	 */
	public AppInfo selectbyId(int id);
	
	/*
	 * 修改AppInfo
	 */
	public int updatebyId(AppInfo appinfo);
	
	/*
	 * 查看版本信息
	 */
	public List<AppVersion> selectAppVersions(String id);
	
	/*
	 * 新增版本信息
	 */
	public int insertAppVersion(AppVersion a);
	
	/*
	 * 查询版本id根据appid
	 */
	public int selectAppVersionId(String id);
	
	/*
	 * 根据id更新appid
	 */
	public int updateAppVersionId(@Param("id")String id,@Param("appid")String appid);
	
	/*
	 * 根据版本id查询版本信息
	 */
	public AppVersion selectAppVersionById(String id);
	
	/*
	 * 修改版本信息
	 */
	public int updateAppVersion(AppVersion appver);
	
	/*
	 * 查看信息
	 */
	public AppInfo selectAppInfo(String id);
	
	/*
	 * 删除版本通过appid
	 */
	public int deleteAppVersion(String id);
	
	/*
	 * 删除appinfo通过id
	 */
	public int deleteAppInfo(String id);
	
	
}
